package com.doitedu.doit30.hbase.client;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;

import java.io.IOException;

/**
 * @Date 22.6.9
 * @Created by HANGGE
 * @Description
 * hbase入门程序
 *   1 创建项目
 *   2 添加依赖
 *   3 创建类
 *   1) 获取hbase的客户端对象
 *   2) 调用方法
 */
public class HbaseClientDemo01 {
    public static void main(String[] args) throws Exception {
        // 1 创建配置对象
        Configuration conf = HBaseConfiguration.create();
        // 设置zookeeper的地址   通过ZK可以连接到hbase数据库
        conf.set("hbase.zookeeper.quorum" , "linux01:2181,linux02:2181,linux03:2181") ;
        // 2 连接hbase数据库
        Connection conn = ConnectionFactory.createConnection(conf);
        // 操作   查看数据库中的表
        /**
         * Admin  对象   管理权限的对象
         *   ddl  namespace snapshot  tools ... ... 功能
         * Table  对象
         *   DML   和数据操作有关的功能
         */
       // Admin admin = conn.getAdmin();
        //Table table = conn.getTable()
        Admin admin = conn.getAdmin();
          // 获取表的基本信息对象
        TableName[] tableNames = admin.listTableNames();
        // 遍历
        for (TableName tableName : tableNames) {
            // 都会表名
            String name = tableName.getNameAsString();
            System.out.println(name);
        }

        // 释放资源
        conn.close();

    }
}
